Fastly CLIの導入と実際にコマンドラインからCDNサービスを構築してみた
こんにちは、AWS事業本部の平木です!
以前、FastlyとS3を使用して静的コンテンツの配信する環境を構築してみました。
調べてみると、FastlyのCDNサービスはコマンドラインツールでも作成可能なようなので、
今回はFastlyのコマンドラインツールであるFastly CLIのインストールとFastly CLIからCDNサービスを構築してみました。
Fastly CLIのインストール
Fastly CLIはMacOS、Windows、Linuxと複数のOSで使用可能です。
今回はAWS CloudShellにインストールしてみたいと思います。
まず下記リリースノートから最新バージョンの.rpm
ファイルをダウンロードします。
2024年2月25日現在時点では、10.8.3
が最新なためこのバージョンのパッケージをダウンロードします。
~$ wget https://github.com/fastly/cli/releases/download/v10.8.3/fastly_10.8.3_linux_amd64.rpm
ダウンロードしたファイルを使ってインストールします。
~$ sudo dnf install fastly_*_linux_amd64.rpm
これでインストールは完了です!
バージョンの確認
Fastly CLIのバージョンを確認するには下記コマンドで確認できます。
~$ fastly version
Fastly CLIのバージョンが古い場合は下記のようなメッセージが出ます。
[cloudshell-user@ip-10-130-48-50 ~]$ fastly version Fastly CLI version v10.8.2 (a42020cf) Built with go version go1.22.0 linux/amd64 (2024-02-25) A new version of the Fastly CLI is available. Current version: 10.8.2 Latest version: 10.8.3 Run `fastly update` to get the latest version. [cloudshell-user@ip-10-130-48-50 ~]$
Fastly CLIを最新のバージョンに更新したい場合は下記コマンドで実施できます。
~$ fastly update
更新時は/usr/local/bin/fastly
への権限を有するユーザー(rootユーザーなど)である必要があるため必要に応じてsudoを頭へ付けるなどしてください。
プロファイルの設定
Fastly CLIを使用して操作を行うには。認証情報を設定する必要があります。 認証情報の使用方法は以下3種類があります。
fastly profile create
コマンドの実行(推奨)- 対話型プロンプトに従って設定する方法です。
--token
または-t
のフラグの使用- 実行するコマンドに明示的にトークンを指定する方法です。
FASTLY_API_TOKEN
の環境変数を設定する方法
今回はfastly profile create
コマンドの実行で設定してみます。
APIトークンの取得
APIトークンは下記URLより確認できます。
https://manage.fastly.com/account/personal/tokens
まず右上の「Create Token」を選択します。
続いて追加の認証を実施します。
追加の認証が完了したら、下記の通りAPIトークンの使用用途や権限について設定を行います。
入力できたら「Create Token」を押下するとAPIトークンが発行できます。
※トークンは後で確認はできないため必ず控えておいてください。
APIトークンの反映
APIトークンを今度コマンドラインツールから登録します。
Fastly API token:
の後に入力を求められるためここに先ほどのAPIトークンを設定すると完了です。
[cloudshell-user@ip-10-132-67-30 ~]$ fastly profile create An API token is used to authenticate requests to the Fastly API. To create a token, visit https://manage.fastly.com/account/personal/tokens Fastly API token: XXXXXXXXXXXXXXXX ←ここに入力(NoEcho) ✓ Validating token ✓ Getting user data ✓ Persisting configuration You can find your configuration file at: /home/cloudshell-user/.config/fastly/config.toml SUCCESS: Profile 'user' created [cloudshell-user@ip-10-132-67-30 ~]$
これで準備完了です。
CLIでサービスを作成してみる
Fastly CLIのリファレンスは下記となるのでこちらを参照します。
Fastly CDNを構築するためにはまずサービスを作成する必要があるため下記コマンドを実行します。
--name
オプションは指定しなくても大丈夫ですが、自動で名前が付与されます。
fastly service create --name (サービス名)
続いてサービス内にCDNの設定を行います。
まずは、ドメインの設定です。
バージョンの指定は必須です。
fastly domain create \ --version latest \ --name (Fastly CDNのドメイン) \ --service-name (作成したいサービス名)
サービスのバックエンドを下記コマンドで作成します。
こちらもバージョンの指定は必須です。
fastly backend create \ --version latest \ --address (オリジンのFQDN) \ --name (作成したいバックエンド名) \ --service-name (作成したいサービス名)
最後アクティベートが必要なので下記コマンドを実行します。
fastly service-version activate \ --version latest \ --service-name (作成したサービス名)
以上で作成が完了です。
片づけ
基本、サービスの無効化をしてから削除することになりますが、
強制的に削除するオプション--force
を指定することでアクティブな状態でサービスを丸ごと削除できます。
fastly service delete \ --service-name (作成したサービス名) \ --force
参考
- Create and manage Fastly resources with the Fastly CLI | Fastly Documentation
- Fastly CLI | Fastly Documentation
おわりに
今回は、Fastly CLIの導入と実際に使ってみるところまで実施してみました。
Fastlyのサービスは、今回ご紹介したようにコマンドラインツールで構築することや、
後日執筆したいと考えているTerraformでのデプロイも可能です。
ぜひコンソール以外でのデプロイやリソース管理を行いたい場合は使用してみていただければと思います。
この記事がどなたかの役に立つと嬉しいです。